package net.neptech.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.neptech.bo.StaffBo;
import net.neptech.dto.sys.StaffDTO;
import net.neptech.model.sys.Staff;
import net.neptech.vo.DeptStaffVo;
import net.neptech.vo.StaffVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author Saya
 * @Date 2025/8/13 17:53
 * @Description TODO
 **/
@Mapper
public interface StaffMapper extends BaseMapper<Staff> {
    List<StaffDTO> getExpert();

    List<StaffDTO> getStaffs();

    List<StaffDTO> getStaffsByDeptId(Long deptId);

    List<Staff> getByDeptId(Long deptId);

    List<DeptStaffVo> getStaffsByIds(@Param("ids") List<Long> staffId);

    Page<StaffVo> selectPageUserList(@Param("page") Page<StaffVo> page, @Param("staffBo") StaffBo staffBo);

    StaffDTO getStaffByUserId(Long userId);

    List<Long> getIdsByRoleIds(List<Long> roleIds);

    List<StaffDTO> searchByName(String userName);
}
